package cn.umakr.service;

import cn.umakr.dao.DeptDao;
import cn.umakr.dao.Impl.DeptDaoImpl;
import cn.umakr.dao.Impl.UserDaoImpl;
import cn.umakr.dao.UserDao;
import cn.umakr.util.PageUtil;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by wangbo on 2017/7/21.
 * 列表数据分页
 */
public class DeptPageService {


    private DeptDao deptDao = new DeptDaoImpl();

    // 设置初始页号
    private int page = 1;
    // 设置每页数据
    private int pageSize = PageUtil.getPageSize();


    // 计算最大页号
    public int getMaxPage() {
        // 获取总记录数
        int maxCount = deptDao.countDept();
        // 计算最大页数
        int maxPage = (maxCount + pageSize - 1) / pageSize;
        return maxPage;
    }

    // 计算分页参数
    public Map<String, Integer> getPage(int currentPage, String ptype) {
        // 实例化一个Map集合
        Map<String, Integer> pageParm = new HashMap<String, Integer>();
        // 获取总记录数
        int maxCount = deptDao.countDept();
        // 计算最大页数
        int maxPage = (maxCount + pageSize - 1) / pageSize;
        // 计算请求页码
        if (ptype.equals("firstPage")) {
            page = 1;// 第一页
        } else if (ptype.equals("prePage")) {
            page = currentPage - 1 < 1 ? 1 : currentPage - 1;// 上一页
        } else if (ptype.equals("nextPage")) {
            page = currentPage + 1 >= maxPage ? maxPage : currentPage + 1;// 下一页
        } else if (ptype.equals("endPage")) {
            page = maxPage;// 最后页
        } else if (ptype.equals("currentPage")) {
            page = currentPage;
        } else if (ptype.equals("pageJump")) {
            page = currentPage;
        }
        pageParm.put("maxPage", maxPage);
        pageParm.put("page", page);
        pageParm.put("maxCount", maxCount);
        return pageParm;
    }

}
